package jp.yvn.game.shooting.element;

import jp.yvn.game.shooting.util.Const;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Point;
import android.graphics.PointF;

/**
 * 弾幕オブジェクトクラス
 * 
 * @author Yvn_pq
 */
public class StraightBulletEntity extends BaseBulletEntity {

	/** 移動スピード */
	private final float mBuletSpeed = 2.0f;

	/** 中心座標 */
	private PointF mCenter;

	/**
	 * コンストラクタ
	 * 
	 * @param context
	 * @param blletType
	 * @param centerX
	 * @param bottomY
	 */
	public StraightBulletEntity(float centerX, float centerY, Point viewSize) {
		super(viewSize);
		// 初期座標設定します
		mCenter.x = centerX;
		mCenter.y = centerY;
	}

	/**
	 * 描画します
	 * 
	 * @param canvas
	 */
	@Override
	public void draw(Canvas canvas, Bitmap bulletImg) {
		canvas.drawBitmap(bulletImg, mCenter.x - Const.BULLET_BLUE_HALF_SIZE, mCenter.y - Const.BULLET_BLUE_HALF_SIZE, null);

		// アニメーション更新
		setAnimation();
	}

	/**
	 * 座標がオブジェクトが画面の外かどうか
	 * 
	 * @return boolean
	 */
	@Override
	public boolean isOutsideView() {
		return mViewSize.y < mCenter.y - Const.BULLET_BLUE_HALF_SIZE;
	}

	/**
	 * アニメーションを設定します
	 */
	@Override
	public void setAnimation() {
		mCenter.y += mBuletSpeed;
	}
}
